package br.com.treinamento.gestaoExperienciaProfissional.service;

import java.io.Serializable;
import java.util.List;

import br.com.treinamento.gestaoExperienciaProfissional.dao.UsuarioDAO;
import br.com.treinamento.gestaoExperienciaProfissional.model.Usuario;

public class UsuarioService implements Serializable {

	private static final long serialVersionUID = -4699562073097356327L;

	private UsuarioDAO usuarioDAO;

	public UsuarioService() {
		usuarioDAO = new UsuarioDAO();
	}

	public void salvar(Usuario usuario) {
		usuario.criptografarSenha();
		usuarioDAO.save(usuario);
	}

	public Usuario recuperarUsuario(Usuario usuario) {
		return usuarioDAO.recuperarUsuario(usuario);
	}
	
	public List<Usuario> listar(){
		return usuarioDAO.listar();
	}
	
	public List<Usuario> listarPorLogin(String valor){
		return usuarioDAO.listarPorLike("login", valor);
	}
	
	public void excluir(Usuario usuario){
		usuarioDAO.delete(usuario);
	}
	
	public void atualizar(Usuario usuario){
		usuario.criptografarSenha();
		usuarioDAO.update(usuario);
	}
	
	public Usuario buscar(Integer id) {
		return usuarioDAO.findDetach(id);
	}
	
	public Usuario buscarPorLogin(String login) {
		return usuarioDAO.buscarPor("login", login);
	}
	
}
